home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / fax / leffler / README < prev    next >
Text File  |  1993-05-24  |  18KB  |  402 lines

  1. FlexFAX Release Version 2.1.0 Available
  2. ---------------------------------------
  3.  
  4. This note has the following sections:
  5.  
  6.     Overview
  7.     Supported Systems
  8.     About the Distribution
  9.     Class 1 Modem Support
  10.     Commonly Asked Questions
  11.     How to Obtain the Distribution by FTP
  12.     How to Obtain the Distribution by Mail
  13.     How to Obtain the Distribution within Silicon Graphics 
  14.     What to do Once You've Retrieved Stuff (source distribution)
  15.     What to do Once You've Retrieved Stuff (binary distribution)
  16.     FlexFAX Mailing List
  17.     Use and Copyright
  18.  
  19.  
  20. Overview
  21. --------
  22. FlexFAX is a facsimile system for UNIX systems.  It supports:
  23.  
  24. o sending facsimile
  25. o receiving facsimile
  26. o polled retrieval of facsimile
  27.  
  28. Facsimile can be any size (e.g. A4, B4), either 98 or 196 lpi, and
  29. transmitted/received as either 1D-encoded or 2D-encoded facsimile data
  30. (2D-encoded data is frequently more compact and hence takes a shorter
  31. time to communicate).
  32.  
  33. Outgoing documents can be any format; the sendfax program uses a
  34. rule-based definition file similar to the System V /etc/magic file 
  35. to deduce document types and to decide how to convert each document
  36. to a form suitable for transmission (either PostScript or TIFF/F).
  37. Automatic cover page generation is supported and users can easily
  38. tailor cover pages to their environment.  A simple text-based
  39. phonebook database is supported by sendfax.  Information is also
  40. provided on how to trivially setup an email to fax gateway service.
  41.  
  42. Incoming facsimile are stored in a receiving area as TIFF/F files and
  43. may be automatically delivered by mail and/or printed.  A fax server
  44. status program, faxstat, can be used to monitor the send and receive
  45. queues, as well as the state of facsimile servers.
  46.  
  47. Fax modems may be shared with outgoing data communication applications
  48. that honor the "uucp locking protocol".  These applications typically
  49. include: cu, tip, kermit, uucp, slip, and ppp.  The system can also be
  50. configured so that incoming data calls cause the system to invoke the
  51. standard system getty program.
  52.  
  53. The software is structured around a client-server architecture.  One
  54. facsimile server process exists for each fax modem on a network.
  55. Clients may send facsimile from any machine that can communicate with
  56. the machine(s) on which the server(s) reside.  Client software is
  57. designed to be lightweight and easy to port; imaging can be offloaded
  58. to the server or done on the client.  (Imaging is, however, typically
  59. done on the server because it simplifies administration.)  Multiple
  60. modems may be located on a single machine.  An access control mechanism
  61. is included to control which users on which machines may submit
  62. documents for transmission.
  63.  
  64. The system supports a wide variety of fax modems.  Any Class 1 or
  65. Class 2 modem should work with the system.  The following modems have
  66. been used successfully with the software:
  67.  
  68.     Class 1 modems:
  69.     Digicom Scout+        (firmware revision 2A19/2931 or newer)
  70.     Nuvo Voyager 96424PFX    (firmware revision AF-C2500-E0)
  71.     SupraFAX v.32bis    (firmware revision V1.200-H or newer)
  72.  
  73.     NOTE: SEE THE SECTION "Class 1 Modem Support" FOR IMPORTANT INFO ON THE
  74.       CLASS 1 MODEM SUPPORT
  75.  
  76.     Class 2 modems:
  77.     Boca M1440E        (firmware revision V1.270 or newer)
  78.     Dallas Fax <something>    (no longer sold, not recommended)
  79.     Everex 24/96D        (no longer sold)
  80.     Hayes Optima 24+Fax96   (firmware revision TR00-J260-001 XXX or newer)
  81.     Multi-Tech 1432BAI    (firmware revision 0307 I or newer)
  82.     SupraFAX v.32bis    (firmware revision V1.200-C or newer)
  83.     Telebit WorldBlazer    (firmware revision LA7.01)
  84.     Twincom 144/DF        (firmware revision V1.200 or newer)
  85.     ZyXel U1496E        (firmware revision 5.01 or newer)
  86.  
  87.     Other modems:
  88.     Abaton InterFax 24/96    (no longer sold)
  89.  
  90. Note however that some modems perform better than others.  The file
  91. MODEMS included in the distribution provides information about each
  92. modem that has been tried.
  93.  
  94.  
  95. Supported Systems
  96. -----------------
  97. The software has been ported to the following systems:
  98.  
  99.     sgi        Silicon Graphics 4D machines w/ AT&T C++ compiler or gcc 2.3.3
  100.     sun        Sun3/Sun4 w/ SunOS 4.1.X and GNU gcc 2.3.3
  101.     bsdi    BSD/386 1.0 w/ GNU gcc 2.3.3
  102.     386bsd    386bsd 0.1 on an Intel 486 w/ GNU gcc 2.3.3+patches
  103.     svr4    System V Release 4 on an Intel x86 w/ GNU gcc 2.3.3 (incomplete)
  104.     solaris2    Solaris 2.x on a Sun4 with GNU gcc 2.3.3 (incomplete)
  105.     sco        SCO ODT 2.0 (incomplete)
  106.  
  107. Systems that are marked (incomplete) compile properly and can be used
  108. to send and receive facsimile, but may have known problems or may be
  109. lacking some utilities such as the faxaddmodem installation script.
  110.  
  111. Porting the software is usually straightforward provided there is a
  112. working C++ compiler (e.g. gcc), PostScript imaging facility (e.g.
  113. ghostscript), and support for a limited subset of the POSIX system call
  114. interface.  System requirements are described more fully in the source
  115. code distribution.
  116.  
  117.  
  118.  
  119. About the Distribution
  120. ----------------------
  121. There are two distributions: a binary version that is directly
  122. installable on a Silicon Graphics IRIX 4.0.x system and a source
  123. distribution.
  124.  
  125. The executables in the binary version of this distribution are only
  126. for Silicon Graphics 4D processor-based systems.  The distribution
  127. is sure to work on any IRIX 4.0.x system, though it may also work
  128. on pre-4.0 os versions.
  129.  
  130. The source distribution includes all the source code in the system
  131. except a small bit of code used to build a Display PostScript-based
  132. imager (this code is useless unless you have a developers agreement
  133. with Adobe for Display PostScript).  The system is written almost
  134. entirely in C++.  I use the AT&T 2.1 compiler, as supported by Silicon
  135. Graphics.  GNU gcc 2.3.3 has been successfully used to build this
  136. software on all systems.
  137.  
  138. A PostScript interpreter program is needed for imaging outgoing
  139. facsimile on the server machine.  The binary distribution for Silicon
  140. Graphics machines includes an imaging program that requires the Display
  141. PostScript execution environment (dps_eoe) that is available with most
  142. versions of IRIX.  The source distribution includes a device driver for
  143. use with Ghostscript version 2.5.2 or later.
  144.  
  145.  
  146.  
  147. Class 1 Modem Support (Caveat Emptor)
  148. -------------------------------------
  149. Most contemporary fax modems provide one of two command interfaces for
  150. communication between the host and modem: Class 1 or Class 2.
  151. (Actually, many modems that provide a Class 2 interface also provide a
  152. Class 1 interface.)  These interfaces are specified by the Electronic
  153. Industries Association/Telecommunications Industry Association
  154. (EIA/TIA).  The Class 1 standard provides minimal hardware support for
  155. fax communication while Class 2 adds many commands and places more
  156. functionality in the modem.
  157.  
  158. FlexFAX includes drivers for both Class 1 and Class 2 modems.  Robust
  159. support for Class 1 modems places two requirements on the host system:
  160.  
  161. o low latency for serial line input
  162. o near realtime response
  163.  
  164. In a UNIX environment both these requirements can be problematic.  In
  165. particular, many UNIX systems increase the latency for data received on
  166. a serial port in order to reduce system overhead.  That is, input data
  167. are typically held in a low level device driver for some period of time
  168. before they are passed to the user so that bursts of input data can be
  169. delivered to the user together.  This behaviour is known to occur under
  170. the Silicon Graphics IRIX and SunOS 4.1.x operating systems; it may
  171. also occur under other systems.  It is important for the proper
  172. operation of the Class 1 driver that input data be delivered to the
  173. facsimile server as quickly as possible.  This may require making a
  174. non-standard call of some sort to the operating system.  For SGI
  175. systems this call is automatically done.  For SunOS systems it appears
  176. that the only way to minimize the input latency is to create a stream
  177. i/o module that accesses an internal interface (see the comments in the
  178. routine setInputBuffering in faxd/FaxServer.c++).
  179.  
  180. The response time requirements are important for insuring that T.30
  181. protocol messages are received in a timely fashion.  On a loaded
  182. system the protocol process may be preempted by other activities and
  183. not be run fast enough to satisfy the protocol timing requirements.
  184. This can usually be guarded against by assigning the facsimile process
  185. a high scheduling priority.  Unfortunately most UNIX systems do not
  186. provide support for such facilities and so even if it is possible to
  187. receive serial line input with the minimum of delay, protocol timing
  188. requirements may not be met because of delays in scheduling the
  189. execution of the fax server process.  For this reason the facsimile
  190. server process attempts to raise its scheduling priority while it is
  191. actively sending or receiving facsimile.  At other times, such as when
  192. it is doing queue management operations, it runs at a normal priority.
  193. On Silicon Graphics systems the ``high priority'' is a nondegrading
  194. scheduling priority that is above the priorities of the normal system
  195. processes.  On other systems the server currently always runs at the
  196. same (normal) scheduling priority.  For more details consult the
  197. setProcessPriority routine in faxd/FaxServer.c++.
  198.  
  199. In summary, if you want to use a Class 1 modem with this software and
  200. your system does not provide support for low latency serial line input
  201. you are likely to have troubles.  If your system does not provide a
  202. mechanism for raising process scheduling priority (note that this is
  203. not the same as the UNIX ``nice'' parameter), then you may see problems
  204. when the server is under load.  Exactly how much load will cause trouble
  205. is dependent on the system configuration and processing power.
  206.  
  207.  
  208.  
  209. Commonly Asked Questions
  210. ------------------------
  211. Q: How is FlexFAX related to netfax (aka GNU fax)?
  212. A: Netfax is a simple fax package developed by folks at MIT and freely
  213.    available under the terms of the GNU software agreement.  FlexFAX is
  214.    a totally independent project that was intended to provide a robust
  215.    facsimile service that supports a wide variety of modems and systems.
  216.    FlexFAX is also public available, but with a different copyright
  217.    agreement (see the copyright at the bottom of this note).
  218.  
  219. Q: My modem is not listed as supported, will it work?
  220. A: If the modem conforms to the draft Class 2 standard that most vendors
  221.    used to implement their ``Ersatz Class 2'' modems, then it should work
  222.    with the software; probably with some minor modifications to one of the
  223.    modem configuration files distributed with the system.
  224.  
  225.    If the modem conforms to the EIA-578 "Class 1" programming interface,
  226.    then it will only work if the intended host provides certain system
  227.    facilities.  At present the only machine that is *known* to provide
  228.    the necessary facilities is the Silicon Graphics Indigo.
  229.  
  230.    Otherwise it is possible to support a modem by writing a new ``modem
  231.    driver'' that is compiled into the facsimile server.
  232.  
  233. Q: What's the best modem to buy/use with this software?
  234. A: First, if your system is incapable of supporting a Class 1 modem, then
  235.    you need to use a Class 2 modem.  The best Class 2 modem that I have
  236.    had experience with is the Everex 24/96D, but it is no longer sold and
  237.    it does not support the v.17 standard for transmitting and receiving
  238.    at 14.4KB.  I have had good success with all the Class 1 modems listed
  239.    above; though the Supra modem exhibits the usual problems known to exist
  240.    with modems built around the Rockwell RC144DP (data pump).
  241.  
  242.  
  243.  
  244. How to Obtain the Distribution by FTP
  245. -------------------------------------
  246. The source code is available for public ftp on
  247.     sgi.com            sgi/fax/v2.1.src.tar.Z
  248.     (192.48.153.1)
  249.  
  250. You can also obtain inst'able images for Silicon Graphics machines from
  251.     sgi.com            sgi/fax/v2.1.inst.tar
  252.     (192.48.153.1)
  253.  
  254. For example,
  255.     % ftp -n sgi.com
  256.     ....
  257.     ftp> user anonymous
  258.     Password: <use mail address as password>
  259.     ftp> cd sgi/fax
  260.     ftp> binary
  261.     ftp> get v2.1.src.tar.Z
  262.     ....
  263.     ftp> quit
  264.  
  265. In general, the latest version of the 2.1 release of the software is
  266. always available as "v2.1.src.tar.Z" or "v2.1.inst.tar" in the ftp
  267. directory.  This file is a link to the appropriate released version (so
  268. don't waste your time retrieving the linked file as well!) Any files of
  269. the form v2.1.*.patch are shell scripts that can be used to patch older
  270. versions of the source code.  For example, the file v2.1.0.patch would
  271. contain patches to update v2.1.0.tar.Z.  Patch files only work to go
  272. between consecutive versions, so if you are multiple versions behind
  273. the latest release, you will need to apply each patch file between your
  274. current version and the latest.
  275.  
  276.  
  277. How to Obtain the Distribution by Mail
  278. --------------------------------------
  279. Do not send me requests for the software; they will be ignored (without
  280. response).  If you cannot use FTP at all, there is a service called
  281. "ftpmail" available from gatekeeper.dec.com:  you can send e-mail to
  282. this machine and it will use FTP to retrieve files for you and send you
  283. the files back again via e-mail.  To find out more about the ftpmail
  284. service, send a message to "ftpmail@gatekeeper.dec.com" whose body
  285. consists of the single line "help".
  286.  
  287.  
  288. How to Obtain the Distribution within Silicon Graphics 
  289. ------------------------------------------------------
  290. Internal to Silicon Graphics there are inst'able images on the host
  291. flake.asd in the directory /usr/dist.  Thus you can do something like:
  292.  
  293.     % inst -f flake.asd.sgi.com:/usr/dist/flexfax
  294.  
  295. to install the latest version of the software on your machine.
  296.  
  297.  
  298. What to do Once You've Retrieved Stuff (source distribution)
  299. ------------------------------------------------------------
  300. The source distributions come in a compressed tar file.  To extract the
  301. software do something like:
  302.  
  303.     % mkdir fax; cd fax
  304.     % zcat <somewhere>/v2.1.src.tar.Z | tar xf -
  305.  
  306. (uncompress and extract individual files in current directory).  Then
  307. follow the instructions in the file README in the top of the source tree.
  308.  
  309. What to do Once You've Retrieved Stuff (binary distribution)
  310. ------------------------------------------------------------
  311. The binary distribution comes as a tar file that contains images for
  312. use with the standard Silicon Graphics installation program inst(1).
  313. To unpack the inst images do something like:
  314.  
  315.     % mkdir dist; cd dist
  316.     % tar xf <somewhere>/v2.1.inst.tar
  317.  
  318. Next, run inst to install the appropriate pieces that you want.  The
  319. key documentation from the source distribution is included in the
  320. subsystem flexfax.man.readme.  When this subsystem is installed the
  321. README file and other useful pieces of information are placed in the
  322. directory /usr/local/doc/flexfax.  Otherwise the software is broken
  323. into two areas: flexfax.client.* for software needed on client machines,
  324. and flexfax.server.* for software needed on a machine where a fax
  325. modem is located.  To unpack and install the client portion:
  326.  
  327.     % mkdir dist; cd dist
  328.     % tar xf ../v2.1.inst.tar
  329.     % cd ..; inst -f dist/flexfax
  330.     ...
  331.     inst> go
  332.  
  333. (Note, the dist subdirectory is because some versions of inst fail if
  334. the files are in the current directory.)  Note that server binaries are
  335. not installed by default, so to get them also you need to do:
  336.  
  337.     % inst -f flexfax
  338.     ...
  339.     inst> install flexfax.server.*
  340.     inst> go
  341.  
  342. Remember that to install a server on a Silicon Graphics machine, you
  343. need to have already installed the Display PostScript execution
  344. environment product (dps_eoe).  Otherwise, the fax server will not be
  345. able to convert PostScript to facsimile for transmission.
  346.  
  347.  
  348. FlexFAX Mail List
  349. -----------------
  350. A mailing list for users of this software is located on sgi.com.
  351. If you want to join this mailing list or have a list-related request
  352. such as getting your name removed from it, send a request to
  353.  
  354.     majordomo@whizzer.wpd.sgi.com
  355.  
  356. For example, to subscribe, send the line "subscribe flexfax" in
  357. the body of your message.  The line "help" will return a list of
  358. the commands understood by the mailing list management software.
  359.  
  360. Submissions (including bug reports) should be directed to:
  361.  
  362.     flexfax@sgi.com
  363.  
  364. When corresponding about this software please always specify what
  365. version you have, what system you're running on, and, if the problem is
  366. specific to your modem, identify the modem and firmware revision.
  367.  
  368.  
  369.  
  370. Use and Copyright
  371. -----------------
  372. Silicon Graphics has seen fit to allow me to give this work away.  It
  373. is free.  There is no support or guarantee of any sort as to its
  374. operations, correctness, or whatever.  If you do anything useful with
  375. all or parts of it you need to honor the copyright notices.   I would
  376. also be interested in knowing about it and, hopefully, be acknowledged.
  377.  
  378.     Sam Leffler    (sam@sgi.com)
  379.  
  380.  
  381. Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993 Sam Leffler
  382. Copyright (c) 1991, 1992, 1993 Silicon Graphics, Inc.
  383.  
  384.     Permission to use, copy, modify, distribute, and sell this software and 
  385.     its documentation for any purpose is hereby granted without fee, provided
  386.     that (i) the above copyright notices and this permission notice appear in
  387.     all copies of the software and related documentation, and (ii) the names of
  388.     Sam Leffler and Silicon Graphics may not be used in any advertising or
  389.     publicity relating to the software without the specific, prior written
  390.     permission of Sam Leffler and Silicon Graphics.
  391.  
  392.     THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  393.     EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  394.     WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  395.  
  396.     IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  397.     ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  398.     OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  399.     WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  400.     LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  401.     OF THIS SOFTWARE.
  402.